List is empty. Each node points to the next address in memory.

Singly Linked List

В отличие от массива, связный список не требует непрерывного блока памяти.

  • Узел (Node): Содержит данные и указатель (адрес) на следующий узел.
  • Head: Указатель на самый первый элемент списка.
  • Null: Последний элемент всегда указывает в "никуда" (nullptr), сигнализируя о конце списка.
struct Node {
    int data;
    Node* next;
    
    Node(int val) : data(val), next(nullptr) {}
};

class LinkedList {
    Node* head = nullptr;
public:
    void pushBack(int val) {
        if (!head) { head = new Node(val); return; }
        Node* temp = head;
        while (temp->next) temp = temp->next;
        temp->next = new Node(val);
    }
};